package com.shop.shoporder.service;

import com.shop.shoporder.entity.Groupbuy;
import com.shop.shoporder.entity.GroupbuyInfo;
import org.apache.ibatis.annotations.Param;


import java.util.List;
import java.util.Map;

public interface GroupbuyService {

    int deleteByPrimaryKey(int groupbuyId);

    int insert(Groupbuy record);

    int insertSelective(Groupbuy record);

    Groupbuy selectByPrimaryKey(int groupbuyId);

    int updateByPrimaryKeySelective(Groupbuy record);

    int updateByPrimaryKey(Groupbuy record);

    /**
     * 查询用户发起正在进行的团购
     * @param userNoId
     * @return
     */
    Groupbuy  getGroupbuyByUserNoId(int userNoId);

    List<GroupbuyInfo> getGroupbuyListByGroupbuyGoodId(int groupbuygoodId);

    /**
     * 该团购商品的发起团购团的个数
     * @param groupbuygoodId
     * @return
     */
    List<Groupbuy> getGroupbuyCount(int groupbuygoodId);

    /**
     * 用户发起团购的团的信息
     * @param userNoId
     * @return
     */
    List<GroupbuyInfo> getGroupbuyListByUserNoId(int userNoId);

    /**
     * 获取正在进行的团购，该用户发起失败的
     * @param userNoId
     * @param groupbuygoodId
     * @return
     */
    Groupbuy  getGroupbuyByUserNoId(@Param("userNoId") int userNoId, @Param("groupbuygoodId")int groupbuygoodId);


    /**
     * 查询用户团购的信息和该团参与人的信息
     * @param
     * @return
     */
    List<GroupbuyInfo> getGroupbuyAndParticpaterInfo(int groupbuyId);



    Map<String,Object> updateGroupbuyStatus(int groupbuyId, int participateId);

}
